import apiClient from './index';

const orderService = {
  // 创建订单
  createOrder: (orderData) => {
    // orderData: { shipping_address_id?: number, shipping_address?: object, customer_remarks?: string }
    return apiClient.post('/orders', orderData);
  },

  // 获取订单列表
  getOrders: (params) => {
    // params: { page?: number, limit?: number, status?: string }
    return apiClient.get('/orders', { params });
  },

  // 获取订单详情
  getOrder: (orderId) => { // API文档中使用 order_id，但后端模型是 order_number，这里以API文档为准
    return apiClient.get(`/orders/${orderId}`);
  },

  // 取消订单
  cancelOrder: (orderId) => {
    return apiClient.patch(`/orders/${orderId}/cancel`);
  },
  
  // 根据后端代码，更新订单状态的接口是 PATCH /orders/:order_number/status
  // 而API文档中取消订单是 PATCH /orders/{order_id}/cancel
  // 这里暂时遵循API文档的取消接口，如果需要更通用的状态更新，可以添加如下方法：
  // updateOrderStatus: (orderId, statusData) => {
  //   // statusData: { status: string, notes?: string }
  //   return apiClient.patch(`/orders/${orderId}/status', statusData);
  // }
};

export default orderService; 